Advertisement presentation and tracking in a television apparatus

ABSTRACT

A system and a method is disclosed which allows both advertisement and program information to be shown on a channel banner, while user changes channel. In another embodiment, an “advertisement channel” is inserted into an active channel list (e.g., scan list), so that when a user is changing channel, a selected ad will be displayed. In yet another embodiment, a method for tracking and collating advertisement display activity in a video system supporting composite display of image data associated with different multimedia functions and advertisements is disclosed.

FIELD OF INVENTION

This invention generally relates to the field of providing effectiveuser interactivity for electronics devices and more particularly, to asystem and method for automatically displaying selected advertisementswhile a user changes the channel on a video apparatus. In addition,advertisements are selected and tracked automatically to increase adeffectiveness.

BACKGROUND OF INVENTION

Electronic devices such as televisions or VCRs require a control systemthat includes a user interface system. Typically, a user interfacesystem provides information to a user and simplifies use of the device.One example of a user interface is an electronic menuing system in atelevision system. The menuing system allows a user to easily interactwith and control a television system that is becoming more complex.

Electronic Program Guides (EPG) are very useful for providing programinformation while a consumer is watching TV. These EPGs are generallysupported by advertising displayed along with the program information.However, the consumer must access the EPG to see the programinformation. In some EPGs, such as current DSS receivers, programinformation is shown in the channel banner, which is seen while changingchannels. To force a user to use the EPG (where advertisements areshown) more often, the prior systems have been showing minimum amount ofprogram information in the channel banner, with no advertisement.

SUMMARY OF THE INVENTION

The present inventors recognize that in the future, the channel bannerfeature may not be economically viable because it takes away from theuse of the EPG (where the advertisements are shown), and thereforereducing the number of ad views in the EPG. The present inventorsrecognize that it is desirable to be able show ads in the channel bannerwhile the consumer is viewing program information at the same time,providing both convenience for the user as well as additional financialbenefit for the advertisers and the service providers.

In addition, the present inventors recognize that it may be desirable toinsert an advertisement channel (with or without corresponding channelbanner description information) onto a channel list of a videoapparatus. The way an ad is inserted into the channel surfing list maybe dependent on, for example, a user's channel surfing manner.

Also, it is desirable to select the advertisement to be displayedintelligently and to be able to track advertisement display activity ina television receiver to maximize ad effectiveness.

Therefore, a system and a method is disclosed which allows bothadvertisement and program information to be shown on a channel banner,as shown for example, in FIG. 1. In another embodiment, a channelrepresenting advertisement is inserted into the active channel list(e.g., scan list), so that when a user is channel surfing, a selected adwill be displayed. In yet another embodiment, a method for trackingadvertisement display activity in a video decoder system supportingcomposite display of image data associated with different multimediafunctions and advertisements is disclosed, comprising the steps of:

acquiring broadcast video data representing a multimedia function imageand video data representing an advertisement image;

generating advertisement display tracking data collating displaycharacteristics of said advertisement image by different multimediafunction; and

formatting said advertisement display tracking data for output.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawing:

FIG. 1 shows an example of a banner ad and channel banner with programinformation in accordance with the present invention.

FIG. 2 shows an example of a television system suitable for processinguser commands and displaying exemplary user interface screens inaccordance to the present invention.

FIG. 3 shows an example of a digital video processing apparatus suitablefor processing user commands and displaying exemplary user interfacescreens in accordance with the present invention.

FIG. 4 shows a block diagram of a specific implementation of a digitalsatellite system suitable for processing user commands and displayingexemplary user interface screens in accordance with the presentinvention.

FIG. 5 shows an example of a program guide for selecting programs.

FIG. 6 shows a flowchart, in accordance with the present invention, forprocessing user commands and displaying exemplary user interface screensin accordance with the present invention.

FIG. 7 is another exemplary embodiment of the present invention whereadvertisement tracking information is generated.

FIG. 8 shows the manner in which auxiliary information may be displayedwith the program content associated with a television signal.

FIG. 9 shows the manner in which auxiliary information may be displayedwith an electronic program guide.

DETAILED DESCRIPTION

The present inventors recognize that EPGs deliver two important types ofdata to a video apparatus: program information, such as title, extendeddescription, rating and genre; and advertisements. To increaseeffectiveness, it is desirable to coordinate these items to user actionsto optimally display an ad. These items would be taken from the dataalready in the EPG and rearranged to fit the format of the channelbanner.

In one embodiment of the invention, as shown in FIG. 1, when theconsumer changes channel, the program information changes to reflectwhat is currently on the channel. At the same time the ad can eitherremain the same or change. The ad that is shown could be based on thetime of day, the channel that is displayed, or the program that iscurrently on. It could also be changed randomly or according to apredetermined pattern.

This advertising display in the channel banner can be turned on and offby the consumer. Turning it on allows the consumer to see programinformation while changing the channel, but it will also requires thatads be shown. Turning it off minimizes the size of the channel bannerbecause the ad is not shown, but the program information is not showneither. The choice will be made in the receiving apparatus's menusystem. In addition, the ad can be interactive, letting users select itto get more information or to link to more contents such as web content.If the ad is for a program, the consumer can set up a one-touchrecording or set their TV to show program when it comes on.

FIG. 2 shows an example of a television system suitable for processinguser commands and displaying exemplary user interface screens inaccordance with the present invention. The television receiver shown inFIG. 2 is capable of processing both analog NTSC television signals andinternet information. The system shown in FIG. 1 has a first input 1100for receiving television signal RF_IN at RF frequencies and a secondinput 1102 for receiving baseband television signal VIDEO IN. SignalRF_IN may be supplied from a source such as an antenna or cable systemwhile signal VIDEO IN may be supplied, for example, by a video cassetterecorder (VCR). Tuner 1105 and IF processor 1130 operates in aconventional manner for tuning and demodulating a particular televisionsignal that is included in signal RF_IN. IF processor 1130 producesbaseband video signal VIDEO representing the video program portion ofthe tuned television signal. IF processor 1130 also produces a basebandaudio signal that is coupled to an audio processing section (not shownin FIG. 1) for further audio processing. Although FIG. 2 shows input1102 as a baseband signal, the television receiver could include asecond tuner and IF processor similar to units 1105 and 1130 forproducing a second baseband video signal from either signal RF_IN orfrom a second RF signal source.

The system shown in FIG. 2 also includes a main microprocessor (mP) 1110for controlling components of the television receiver such as tuner1105, picture-in-picture processing unit 1140, video signal processor1155, and StarSight® data processing module 1160. As used herein, theterm “microprocessor” represents various devices including, but notlimited to, microprocessors, microcomputers, microcontrollers andcontrollers. Microprocessor 1110 controls the system by sending andreceiving both commands and data via serial data bus I²C BUS thatutilizes the well-known I²C serial data bus protocol. More specifically,central processing unit (CPU) 1112 within mP 1110 executes controlprograms contained within memory, such as EEPROM 1127 shown in FIG. 2,in response to commands provided by a user, e.g. via JR remote control1125 and JR receiver 1122. For example, activation of a “CHANNEL UP”feature on remote control 1125 causes CPU 1112 to send a “changechannel” command along with channel data to tuner 1105 via I²C BUS. As aresult, tuner 1105 tunes the next channel in the channel scan list.Another example of a control program stored in EEPROM 1127 is softwarefor implementing the operations shown in FIGS. 6A, 6B, 7 and 8 in flowchart form to be discussed below and in accordance with the presentinvention.

Main microprocessor 1110 also controls the operation of a communicationsinterface unit 1113 for providing the capability to upload and downloadinformation to and from the Internet. Communication interface unit 1113includes, for example, a modem for connecting to an Internet serviceprovider, e.g. via a telephone line or via a cable television line. Thecommunication capability allows the system shown in FIG. 1 to provideemail capability and Internet related features such as web browsing inaddition to receiving television programming.

CPU 1112 controls functions included within mP 1110 via bus 1119 withinmP 1110. In particular, CPU 1112 controls auxiliary data processor 1115and on-screen display (OSD) processor 1117. Auxiliary data processor1115 extracts auxiliary data such as StarSight® data from video signalPIPV.

StarSight® data, which provides program guide data information in aknown format, is typically received only on a particular televisionchannel and the television receiver must tune that channel to extractStarSight® data. To prevent StarSight® data extraction from interferingwith normal use of the television receiver, CPU 1112 initiatesStarSight® data extraction by tuning the particular channel only duringa time period when the television receiver is usually not in use (e.g.,2:00 AM). At that time, CPU 1112 configures decoder 1115 such thatauxiliary data is extracted from horizontal line intervals such as line16 that are used for StarSight® data. CPU 1112 controls the transfer ofextracted StarSight® data from decoder 1115 via I²C BUS to StarSight®module 1160. A processor internal to the module formats and stores thedata in memory within the module. In response to the StarSight® EPGdisplay being activated (e.g., a user activating a particular key onremote control 125), CPU 1112 transfers formatted StarSight® EPG displaydata from StarSight® module 1160 via I²C BUS to OSD processor 1117.

An EPG is an interactive, on-screen display feature that displaysinformation analogous to TV listings found in local newspapers or otherprint media. In addition, an EPG also includes information necessary forcollating and decoding programs. An EPG provides information about eachprogram within the time frames covered by the EPG that typically rangesfrom the next hour up to seven days. The information contained in an EPGincludes programming characteristics such as channel number, programtitle, start time, end time, elapsed time, time remaining, rating (ifavailable), topic, theme, and a brief description of the program'scontent. EPGs are usually arranged in a two-dimensional table or gridformat with time information on one axis and channel information on theother axis. An example of an program guide is shown in FIG. 5.

Unlike non-interactive guides that reside on a dedicated channel andmerely scroll through the current programming on the other channels forthe next 2 to 3 hours, EPGs allow viewers to select any channel at anytime during some period into the future, e.g., up to seven days forward.Further EPG features include the ability to highlight individual cellsof the grid containing program information. Once highlighted, the viewercan perform functions pertaining to that selected program. For instance,the viewer could instantly switch to that program if it is currentlybeing aired. Viewers could also program one touch video cassetterecording (VCR) or the like if the television is properly configured andconnected to a recording device. Such EPGs are known in the art anddescribed, for instance, in U.S. Pat. Nos. 5,353,121; 5,479,268; and5,479,266 issued to Young et al. and assigned to StarSight Telecast,Inc.

In addition, U.S. Pat. No. 5,515,106, issued to Chaney et al., andassigned to the same assignee of the present invention, describes indetail an exemplary embodiment including data packet structure necessaryto implement an exemplary program guide system. The exemplary datapacket structure is designed so that both the channel information (e.g.,channel name, call letters, channel number, type, etc.) and the programdescription information (e.g., content, title, rating, star, etc.)relating to a program may be transmitted from a program guide databaseprovider to a receiving apparatus efficiently.

OSD processor 1117 operates in a conventional manner to produce R, G,and B video signals OSD_RGB that, when coupled to a displayed device(not shown), will produce a displayed image representing on-screendisplay information in according to flow charts to be shown in FIGS. 6-8and to be described later. OSD processor 1117 also produces controlsignal Fast-Switch (FSW) which is intended to control a fast switch forinserting signals OSD_RGB into the system's video output signal at timeswhen an on-screen display is to be displayed. Therefore, when a userenables the various user interface screens of the present invention tobe described later, OSD processor 1117 produces the correspondingsignals OSD_RGB representing the on-screen display informationpreviously stored or programmed in the memory 1127. For example, when auser enables an EPG, e.g., by activating a particular switch on remotecontrol 1125, CPU 1112 enables processor 1117. In response, processor1117 produces signals OSD_RGB representing the program guide datainformation previously extracted and already stored in memory, asdiscussed above. Processor 1117 also produces signal FSW indicating whenthe EPG is to be displayed.

Video signal processor (VSP) 1155 performs conventional video signalprocessing functions, such as luma and chroma processing. Output signalsproduced by VSP 1155 are suitable for coupling to a display device,e.g., a kinescope or LCD device (not shown in FIG. 2), for producing adisplayed image. VSP 1155 also includes a fast switch for couplingsignals produced by OSD processor 1117 to the output video signal pathat times when graphics and/or text is to be included in the displayedimage. The fast switch is controlled by control signal FSW which isgenerated by OSD processor 1117 in main microprocessor 1110 at timeswhen text and/or graphics are to be displayed.

The input signal for VSP 1155 is signal PIPV that is output bypicture-in-picture (PIP) processor 1140. When a user activates PIP mode,signal PIPV represents a large picture (large pix) into which a smallpicture (small pix) is inset. When PIP mode is inactive, signal PIPVrepresents just the large pix, i.e., no small pix signal is included insignal PIPV. PIP processor 1140 provides the described functionality ina conventional manner using features included in unit 1140 such as avideo switch, analog-to-digital converter (ADC), RAM, and digital toanalog converter (DAC).

As mentioned above, the display data included in the EPG display isproduced by OSD processor 1117 and included in the output signal by VSP1155 in response to fast switch signal FSW. When controller 1110 detectsactivation of the EPG display, e.g., when a user presses an appropriatekey on remote control 1125, controller 1110 causes OSD processor 1117 toproduce the EPG display using information such as program guide datafrom StarSight® module 1160. Controller 1110 causes VSP 1155 to combinethe EPG display data from OSD processor 1117 and the video image signalin response to signal FSW to produce a display including EPG. The EPGcan occupy all or only a portion of the display area.

When the EPG display is active, controller 1110 executes an EPG controlprogram stored in EEPROM 1127. The control program monitors the locationof a position indicator, such as a cursor and/or highlighting, in theEPG display. A user controls the location of the position indicatorusing direction and selection keys of remote control 1125.Alternatively, the system could include a mouse device. Controller 1110detects activation of a selection device, such as clicking a mousebutton, and evaluates current cursor location information in conjunctionwith EPG data being displayed to determine the function desired, e.g.,tuning a particular program. Controller 1110 subsequently activates thecontrol action associated with the selected feature.

An exemplary embodiment of the features of the system shown in FIG. 2that have been described thus far comprises an ST9296 microprocessorproduced by SGS-Thomson Microelectronics for providing the featuresassociated with mP 1110; an M65616 picture-in-picture processor producedby Mitsubishi for providing the described basic PIP functionalityassociated with PIP processor 1140; and an LA7612 video signal processorproduced by Sanyo for providing the functions of VSP 1155.

FIG. 3 shows another example of an electronic device capable ofprocessing user commands and displaying exemplary user interface screensin accordance with the present invention. As described below, the systemshown in FIG. 3 is an MPEG compatible system for receiving MPEG encodedtransport streams representing broadcast programs. However, the systemshown in FIG. 2 is exemplary only. The user interface system describedherein is also applicable to other types of digital signal processingdevices including non-MPEG compatible systems, involving other types ofencoded datastreams. For example, other devices include digital videodisc (DVD) systems and MPEG program streams, and systems combiningcomputer and television functions such as the so-called “PCTV”. Further,although the system described below is described as processing broadcastprograms, this is exemplary only. The term ‘program’ is used torepresent any form of packetized data such as telephone messages,computer programs, Internet data or other communications, for example.

In overview, in the video receiver system of FIG. 3, a carrier modulatedwith video data is received by antenna 10 and processed by unit 15. Theresultant digital output signal is demodulated by demodulator 20 anddecoded by decoder 30. The output from decoder 30 is processed bytransport system 25 which is responsive to commands from remote controlunit 125. System 25 provides compressed data outputs for storage,further decoding, or communication to other devices.

Video and audio decoders 85 and 80 respectively, decode the compresseddata from system 25 to provide outputs for display. Data port 75provides an interface for communication of the compressed data fromsystem 25 to other devices such as a computer or High DefinitionTelevision (HDTV) receiver, for example. Storage device 90 stores thecompressed data from system 25 on storage medium 105. Device 90, in aplayback mode also supports retrieval of the compressed data fromstorage medium 105 for processing by system 25 for decoding,communication to other devices or storage on a different storage medium(not shown to simplify drawing).

Considering FIG. 3 in detail, a carrier modulated with video datareceived by antenna 10, is converted to digital form and processed byinput processor 15. Processor 15 includes radio frequency (RF) tuner andintermediate frequency (IF) mixer and amplification stages fordown-converting the input video signal to a lower frequency bandsuitable for further processing. The resultant digital output signal isdemodulated by demodulator 20 and decoded by decoder 30. The output fromdecoder 30 is further processed by transport system 25.

Multiplexer (mux) 37 of service detector 33 is provided, via selector35, with either the output from decoder 30, or the decoder 30 outputfurther processed by a descrambling unit 40. Descrambling unit 40 maybe, for example, a removable unit such as a smart card in accordancewith ISO 7816 and NRSS (National Renewable Security Standards) Committeestandards (the NRSS removable conditional access system is defined inEIA Draft Document IS-679, Project PN-3639). Selector 35 detects thepresence of an insertable, compatible, descrambling card and providesthe output of unit 40 to mux 37 only if the card is currently insertedin the video receiver unit. Otherwise selector 35 provides the outputfrom decoder 30 to mux 37. The presence of the insertable card permitsunit 40 to descramble additional premium program channels, for example,and provide additional program services to a viewer. It should be notedthat in the preferred embodiment NRSS unit 40 and smart card unit 130(smart card unit 130 is discussed later) share the same system 25interface such that only either an NRSS card or a smart card may beinserted at any one time. However, the interfaces may also be separateto allow parallel operation.

The data provided to mux 37 from selector 35 is in the form of an MPEGcompliant packetized transport datastream as defined in MPEG systemsstandard section 2.4 and includes program guide information and the datacontent of one or more program channels. The individual packets thatcomprise particular program channels are identified by PacketIdentifiers (PIDs). The transport stream contains Program SpecificInformation (PSI) for use in identifying the PIDs and assemblingindividual data packets to recover the content of all the programchannels that comprise the packetized datastream. Transport system 25,under the control of the system controller 115, acquires and collatesprogram guide information from the input transport stream, storagedevice 90 or an internet service provider via the communicationinterface unit 116. The individual packets that comprise eitherparticular program channel content or Program Guide information, areidentified by their Packet Identifiers (PIDs) contained within headerinformation. As discussed above, the program description contained inthe program guide information may comprise different program descriptivefields such as title, star, rating, etc., relating to a program.

The user interface incorporated in the video receiver shown in FIG. 3enables a user to activate various features by selecting a desiredfeature from an on-screen display (OSD) menu. The OSD menu may includean electronic program guide (EPG) as described above, and other featuresdiscussed below.

Data representing information displayed in the OSD menu is generated bysystem controller 115 in response to stored on-screen display (OSD)information representing text/graphics, stored program guideinformation, and/or program guide and text/graphics information receivedvia the input signal as described above and in accordance with exemplarycontrol programs to be shown in FIGS. 6-8, and to be discussed below.The software control programs may be stored, for example, in embeddedmemory (not shown) of system controller 115.

Using remote control unit 125 (or other selection means such as a mouse)a user can select from the OSD menu items such as a program to beviewed, a program to be stored (e.g., recorded), the type of storagemedia and manner of storage. System controller 115 uses the selectioninformation, provided via interface 120, to configure system 25 toselect the programs for storage and display and to generate PSI suitablefor the selected storage device and media. Controller 115 configuressystem 25 elements 45, 47, 50, 55, 65 and 95 by setting control registervalues within these elements via a data bus and by selecting signalpaths via muxes 37 and 110 with control signal C.

In response to control signal C, mux 37 selects either, the transportstream from unit 35, or in a playback mode, a datastream retrieved fromstorage device 90 via store interface 95. In normal, non-playbackoperation, the data packets comprising the program that the userselected to view are identified by their PIDs by selection unit 45. Ifan encryption indicator in the header data of the selected programpackets indicates the packets are encrypted, unit 45 provides thepackets to decryption unit 50. Otherwise unit 45 provides non-encryptedpackets to transport decoder 55. Similarly, the data packets comprisingthe programs that the user selected for storage are identified by theirPIDs by selection unit 47. Unit 47 provides encrypted packets todecryption unit 50 or non-encrypted packets to mux 110 based on thepacket header encryption indicator information.

The functions of decryptors 40 and 50 may be implemented in a singleremovable smart card which is compatible with the NRSS standard. Theapproach places all security related functions in a removable unit thatcan easily be replaced if a service provider decides to changeencryption techniques or to permit easily changing the security system,e.g., to descramble a different service.

Units 45 and 47 employ PID detection filters that match the PIDs ofincoming packets provided by mux 37 with PID values pre-loaded incontrol registers within units 45 and 47 by controller 115. Thepre-loaded PIDs are used in units 47 and 45 to identify the data packetsthat are to be stored and the data packets that are to be decoded foruse in providing a video image. The pre-loaded PIDs are stored inlook-up tables in units 45 and 47. The PID look-up tables are memorymapped to encryption key tables in units 45 and 47 that associateencryption keys with each pre-loaded PID. The memory mapped PID andencryption key look-up tables permit units 45 and 47 to match encryptedpackets containing a pre-loaded PID with associated encryption keys thatpermit their decryption. Non-encrypted packets do not have associatedencryption keys. Units 45 and 47 provide both identified packets andtheir associated encryption keys to decryptor 50. The PID look-up tablein unit 45 is also memory mapped to a destination table that matchespackets containing pre-loaded PIDs with corresponding destination bufferlocations in packet buffer 60. The encryption keys and destinationbuffer location addresses associated with the programs selected by auser for viewing or storage are pre-loaded into units 45 and 47 alongwith the assigned PIDs by controller 115. The encryption keys aregenerated by ISO 7816-3 compliant smart card system 130 from encryptioncodes extracted from the input datastream. The generation of theencryption keys is subject to customer entitlement determined from codedinformation in the input data stream and/or pre-stored on the insertablesmart card itself (International Standards Organization document ISO7816-3 of 1989 defines the interface and signal structures for a smartcard system).

The packets provided by units 45 and 47 to unit 50 are encrypted usingan encryption technique such as the Data Encryption Standard (DES)defined in Federal Information Standards (FIPS) Publications 46, 74 and81 provided by the National Technical Information Service, Department ofCommerce. Unit 50 decrypts the encrypted packets using correspondingencryption keys provided by units 45 and 47 by applying decryptiontechniques appropriate for the selected encryption algorithm. Thedecrypted packets from unit 50 and the non-encrypted packets from unit45 that comprise the program for display are provided to decoder 55. Thedecrypted packets from unit 50 and the non-encrypted packets from unit47 that comprise the program for storage are provided to mux 110.

Unit 60 contains four packet buffers accessible by controller 115. Oneof the buffers is assigned to hold data destined for use by controller115 and the other three buffers are assigned to hold packets that aredestined for use by application devices 75, 80 and 85. Access to thepackets stored in the four buffers within unit 60 by both controller 115and by application interface 70 is controlled by buffer control unit 65.Unit 45 provides a destination flag to unit 65 for each packetidentified by unit 45 for decoding. The flags indicate the individualunit 60 destination locations for the identified packets and are storedby control unit 65 in an internal memory table. Control unit 65determines a series of read and write pointers associated with packetsstored in buffer 60 based on the First-In-First-Out (FIFO) principle.The write pointers in conjunction with the destination flags permitsequential storage of an identified packet from units 45 or 50 in thenext empty location within the appropriate destination buffer in unit60. The read pointers permit sequential reading of packets from theappropriate unit 60 destination buffers by controller 115 andapplication interface 70.

The non-encrypted and decrypted packets provided by units 45 and 50 todecoder 55 contain a transport header as defined by section 2.4.3.2 ofthe MPEG systems standard. Decoder 55 determines from the transportheader whether the non-encrypted and decrypted packets contain anadaptation field (per the MPEG systems standard). The adaptation fieldcontains timing information including, for example, Program ClockReferences (PCRs) that permit synchronization and decoding of contentpackets. Upon detection of a timing information packet, that is a packetcontaining an adaptation field, decoder 55 signals controller 115, viaan interrupt mechanism by setting a system interrupt, that the packethas been received. In addition, decoder 55 changes the timing packetdestination flag in unit 65 and provides the packet to unit 60. Bychanging the unit 65 destination flag, unit 65 diverts the timinginformation packet provided by decoder 55 to the unit 60 buffer locationassigned to hold data for use by controller 115, instead of anapplication buffer location.

Upon receiving the system interrupt set by decoder 55, controller 115reads the timing information and PCR value and stores it in internalmemory. PCR values of successive timing information packets are used bycontroller 115 to adjust the system 25 master clock (27 MHz). Thedifference between PCR based and master clock based estimates of thetime interval between the receipt of successive timing packets,generated by controller 115, is used to adjust the system 25 masterclock. Controller 115 achieves this by applying the derived timeestimate difference to adjust the input control voltage of a voltagecontrolled oscillator used to generate the master clock. Controller 115resets the system interrupt after storing the timing information ininternal memory.

Packets received by decoder 55 from units 45 and 50 that contain programcontent including audio, video, caption, and other information, aredirected by unit 65 from decoder 55 to the designated application devicebuffers in packet buffer 60. Application control unit 70 sequentiallyretrieves the audio, video, caption and other data from the designatedbuffers in buffer 60 and provides the data to corresponding applicationdevices 75, 80 and 85. The application devices comprise audio and videodecoders 80 and 85 and high speed data port 75. For example, packet datacorresponding to a composite program guide generated by the controller115 as described above and as shown in FIG. 5, may be transported to thevideo decoder 85 for formatting into video signal suitable for displayon a monitor (not shown) connected to the video decoder 85. Also, forexample, data port 75 may be used to provide high speed data such ascomputer programs, for example, to a computer. Alternatively, port 75may be used to output data to an HDTV decoder to display imagescorresponding to a selected program or a program guide, for example.

Packets that contain PSI information are recognized by unit 45 asdestined for the controller 115 buffer in unit 60. The PSI packets aredirected to this buffer by unit 65 via units 45, 50 and 55 in a similarmanner to that described for packets containing program content.Controller 115 reads the PSI from unit 60 and stores it in internalmemory.

Controller 115 also generates condensed PSI (CPSI) from the stored PSIand incorporates the CPSI in a packetized datastream suitable forstorage on a selectable storage medium. The packet identification anddirection is governed by controller 115 in conjunction with the unit 45and unit 47 PID, destination and encryption key look-up tables andcontrol unit 65 functions in the manner previously described.

In addition, controller 115 is coupled to a communication interface unit116 that operates in a manner similar to interface unit 1113 in FIG. 2.That is, unit 116 provides the capability to upload and downloadinformation to and from the Internet. Communication interface unit 116includes, for example, a modem for connecting to an Internet serviceprovider, e.g., via a telephone line or via a cable television line. Thecommunication capability allows the system shown in FIG. 3 to provideemail capability and Internet related features such as web browsing inaddition to receiving television programming.

FIG. 4 is a specific implementation of an electronic device generallyshown in FIG. 3 and described in detail above. FIG. 4 represents asatellite receiver set-top box, designed and manufactured by ThomsonConsumer Electronics, of Indianapolis, Ind., USA, for receiving DirecTV™satellite service provided by Hughes Electronics.

As shown in FIG. 4, the set-top box has a tuner 301 which receives andtunes applicable satellite RF signals in the range of 950-1450 MHz froma satellite antenna 317. The tuned analog signals are outputted to alink module 302 for further processing. Link module 302 is responsiblefor further processing of the analog tuned signals I_out and Q_out fromtuner 301, including filtering and conditioning of the analog signals,and conversion of the analog signals into a digital output signal, DATA.The link module 302 is implemented as an integrated circuit (IC). Thelink module IC is manufactured by SGS-Thomson Microelectronics ofGrenoble, France, and has Part No. ST 15339-610.

The digital output, DATA, from the link module 302 consists of compliantpacketized data stream recognized and processable by the transport unit303. The datastream, as discussed in detail in relation to FIG. 3,includes program guide data information and the data content of one ormore program channels of the satellite broadcast service from DirectTV™. As discussed above, program guide data contains informationrelating to the type of program (e.g., audio-only, video-only, etc.) asindicated, for example, by the “class” type.

The function of the transport unit 303 is the same as the transportsystem 25 shown in FIG. 3 and discussed already. As described above, thetransport unit 303, processes the packetized data stream according tothe Packet Identifiers (PID) contained in the header information. Theprocessed data stream is then formatted into MPEG compatible, compressedaudio and video packets and coupled to a MPEG decoder 304 for furtherprocessing.

The transport unit 303 is controlled by an Advanced RISC Microprocessor(ARM) 315 which is a RISC based microprocessor. The ARM processor 315executes control software residing in ROM 308. Exemplary components ofthe software may be, for example, control programs shown in FIGS. 6-8for processing user interface commands and displaying OSD information inaccordance with aspects of the present invention as will be discussedbelow.

The transport unit 303 is typically implemented as an integratedcircuit. For example, a preferred embodiment is an IC manufactured bySGS-Thomson Microelectronics and has a Part No. ST 15273-810 or15103-65C.

The MPEG compatible, compressed audio and video packets from thetransport unit 303 are delivered to a MPEG decoder 304. The MPEG decoderdecodes the compressed MPEG datastream from the transport unit 303. Thedecoder 304 then outputs the applicable audio stream which can befurther processed by the audio digital-to-analog converter (DAC) 305 toconvert the digital audio data into analog sound. The decoder 304 alsooutputs applicable digital video data which represents image pixelinformation to a NTSC encoder 306. The NTSC encoder 306 then furtherprocesses this video data into NTSC compatible analog video signal sothat video images may be displayed on a regular NTSC television screen.The MPEG decoder as described above may be implemented as an integratedcircuit. One exemplary embodiment may be an MPEG decoder IC manufacturedby SGS-Thomson Microelectronics having Part No. ST 13520.

Included in the MPEG processor 304 is an OSD processor 320. The OSDprocessor 320 reads data from SDRAM 316 which contains stored OSDinformation. OSD information corresponds to bitmap OSD graphics/textimages. The OSD processor is capable of varying the color and/ortranslucency of each pixel of an OSD image under the control of the ARMmicroprocessor 315 in a conventional manner.

The OSD processor is also responsible for generating an exemplaryprogram guide as shown in FIG. 5 under the control of the ARM processor315. In the exemplary embodiment, upon detecting a user request togenerate a guide display, the ARM microprocessor 315 processes theprogram guide data information obtained from a data stream provided by aprogram guide information provider and formats the guide datainformation into OSD pixel data corresponding to a “grid guide” as shownin FIG. 5. The OSD pixel data from the transport unit 303 is thenforwarded to OSD processor 320 in the MPEG audio/video decoder 304 forgenerating the guide image, as described before.

As shown in FIG. 5, the “grid guide” 500 typically occupies the wholescreen of a display. The grid guide 500 shows a program schedule in atime-and-channel format, similar to a TV schedule listed in a newspaper.In particular, one dimension (e.g., horizontal) of the guide shows thetime information while the other dimension (e.g., vertical) of the guideshows the channel information. The time information is conveyed to theuser by having a time line 501 on the top portion of the guide and isdemarked by half hour intervals. The channel information is conveyed tothe user by channel numbers 510-516 and corresponding channel stationnames 520-526.

In addition, the program guide 500 contains icons Internet 550 and Email560. By clicking on these icons, a user can surf the Internet andsend/receive email respectively through the communication interface unit307. In addition, an Internet web site icon may also be incorporatedinto a grid of a program guide. For example, by clicking on “ESPN.com”within grid 570, the user will automatically be linked to, for example,an ESPN web site.

A low speed data port 330 is used to connect to an IR-Blaster (notshown) for controlling a VCR for recording a program. As discussedbefore, an IR blaster is basically a programmable VCR remote controlemulator controlled by the satellite receiver shown in FIG. 4. It ispositioned in front of a VCR remote sensor of an attached VCR and willtransmit commands such as “ON” and “RECORD” under the control of thesatellite receiver at the appropriate time, according to the timerscreen information entered by the users.

Additional relevant functional blocks of FIG. 4 include modem 307 whichcorresponds to the communication interface unit 116 shown in FIG. 3 foraccess to the Internet, for example. Conditional Access Module (CAM)309, corresponds to the NRSS decryption unit 130 shown in FIG. 3 forproviding conditional access information. Wideband data module 310corresponds to High Speed Data Port 75 shown in FIG. 3 for providinghigh speed data access to, for example, a HDTV decoder or a computer. Akeyboard/IR Receiver module 312 corresponds to Remote Unit interface 120shown in FIG. 3 for receiving user control commands from a user controlunit 314. Digital AV bus module 313 corresponds to I/O port 100 shown inFIG. 3 for connection to an external device such as a DVD player.

FIG. 6 is a flow diagram detailing the processing and displaying ofadvertisements in accordance with the present invention. One skilled inthe art will readily recognize that this flow chart can be applied toany of the systems shown in FIGS. 2-4. To eliminate redundancy, the flowchart will be described only in connection with exemplary embodiment ofFIG. 4.

In step 601, a user, as usual, presses either a channel up or down keyon remote control 314 to channel surf. In step 602, a determination ismade by for example, microprocessor 315, to see whether the user hasactivated channel information OSD display. This channel informationdisplay is shown for example, as a channel banner on top of FIG. 1.

Also, in step 604, microprocessor 315 determines what the new channelnumber is in response to either the channel up or down key beingpressed. The determination is made in connection with what is currentlyin the channel surfing list or scan list.

A channel surfing list or a scan list is the list of all active videochannels accessible when pressing and holding the channel up or down keyof a remote control. The concept of an active channel list is not new.The active channel list is simply a collection of channels that the userwishes to cycle through when pressing the channel up or channel downbutton on the remote. Additionally, any channel in the active channellist can be directly displayed by manually entering the channel number.

In step 606, after the new channel number is determined, microprocessor315 will query the EPG data to find the correct program information tobe displayed. This is based in part on the current time and channelnumber information determined in step 604. The microprocessor 315 willalso query an advertisement database to determine which advertisement toshow concurrently with the selected channel. As shown in step 608, theparticular ad shown may depend on current time and/or channel, or otheralgorithm. Other algorithm may include displaying an advertisementaccording to the type of program shown (e.g., comedy, drama, sports,etc.) or likely viewing demography of the viewers, etc.

In steps 609 and 610, microprocessor 315 will then cause the OSDprocessor 320 to extract the necessary text and/or graphics informationfrom the ad database. The OSD will display program information, channelvideo and selected ad at the same time as shown for example, in FIG. 1.

In addition, the displayed ad will be automatically highlighted, as instep 611. Microprocessor 315 will then determine whether the user hasselected the ad, for example, by pressing an “OK” key on the remote 314,shown in step 612. In step 614, if the ad has been selected by the user,microprocessor 315 will then cause the display of, for example, detailedinformation and choices for the ad, for example, allowing the user towatch and/or record video/audio clips of the ad, or to conduct atransaction through modem 307, for example.

Another exemplary embodiment of the present invention is shown in FIG.7. The system concerns a video processing apparatus 701, which may beimplemented as the video apparatus shown in FIG. 4 and described above,capable of communicating television program signals and electronicprogram guide (EPG) signals each enhanced with auxiliary information,such as advertisements, by a television communication channel 703 suchas terrestrial broadcast, cable distribution, satellite broadcast or thelike.

The system shown in FIG. 7 receives the enhanced television program andEPG signals via a video server 702, which combines signal sourcesrepresenting both television program signal source 704 and electronicprogram guide signal source 705. The television receiver 701 displaysthe auxiliary information on a monitor 706 connected to the televisionreceiver 701 in association with the displayed video portioncorresponding to a selected television program signal and the displayedEPG derived from the EPG signal. FIG. 8 shows the manner in whichauxiliary information may be displayed with the program contentassociated with a television signal; and FIG. 9 shows the manner inwhich auxiliary information may be displayed with an electronic programguide.

When the auxiliary information such as advertisement is selected by auser via a control system of a television receiver such as a remotecontrol 314 shown in FIG. 4, the system communicates informationconcerning the selection from the television receiver via a back channelsuch as a modem 706, to a “store and forward” server 710.

The store and forward server 710 collects and categorizes the selectioninformation 714 from receiver 701 into packages related to the origin ofthe auxiliary information, and at a later time communicates the selectedinformation back to a designated party, such as the originator of theauxiliary information. The time delay allows for the selection of thetransmission times (e.g., at night) to minimize costs. The server 710also determines the signal source associated with the selected auxiliaryinformation (i.e., the source of the television signal or the EPGsignal) and the number of times the auxiliary information has beenselected. The number is used by the operator of the server to determinea fee to be paid, e.g., by the originator of the auxiliary information.This information may also be used to selectively determine the type ofauxiliary information to be transmitted to or displayed for the user.

The selection information 714 communicated to the store and forwardserver from a television receiver may include identification data 713for identifying the television receiver 701 from which the selectioninformation 714 was sent. Such a provision allows the originator of theauxiliary information to identify and communicate with the consumersmaking the selection for the purposes of providing additionalinformation and making sales. In a related feature, the provision ofidentifying the television receiver through the back channel may allowan audience survey company to monitor the viewing habits of theconsumers.

Various signal formats for embedding the auxiliary information in thetelevision program signals and EPG signals are available. For example, aprotocol known as ATVEF proposed by the Advance Television EnhancementForum, an alliance of television communication and computer companies isadvantageous. The protocol is based on the HTML (Hypertext MarkupLanguage) utilized in the Internet. The ATVEF protocol may be used withboth analog and digital television systems. Other protocols may be used.In an analog television system, the auxiliary information may beincluded in the vertical blanking interval (VBI) of the televisionprogram signal, together with the EPG signal. In a digital televisionsystem the auxiliary information may be “packetized” and inserted intothe digital data stream including the television program data and EPGdata.

Another tier or feature level of the television system may also includeprovisions for communicating E-mail information, e.g., via the store andforward sever, also enhanced with auxiliary information, such asadvertisements, to television receivers. In that case, the store andforward server also collects and categorizes the selection informationassociated with e-mail and quantifies the selection information forrevenue tracking purposes. In this tier, providing auxiliaryinformation, such as advertisements, subsidizes the cost of the E-mailservice and may, in fact, allow for “free-mail”. However, since theserver delays the transmission of data so as to be economic, still othertiers of the system may provide for accelerated E-mail communicationservice and possibly also connection to the Internet upon the payment offees by the consumer. Such an e-mail server 711 and Internet server 712are shown in FIG. 7.

The auxiliary information may also contain software for operating thetelevision receiver or for providing an additional functionality to it,such as video games or personal computer functions including, e.g., wordprocessing and spread sheet programs. To the extent that the televisionreceiver itself has insufficient data processing capability itself,e.g., insufficient memory, such data processing may be shared from apersonal computer linked to the television receiver via a bus.

Another aspect of such an apparatus provides for integrating a webbrowser and either an Ethernet or HomePNA interface for networking.Connecting the apparatus to a personal computer (PC) enhances thefunctionality by being able to download software applications, such as aword processor or spreadsheet, from the PC. Further, the apparatus couldutilize the PC for data storage or for printing. A network connectionwould enable storing a URL directly and/or automatically on the PC.

As described previously, manufacturers and service providers are addingadvertisements to items such as Electronic Program Guides. However, someusers do not use EPGs or use EPGs infrequently. Instead, they “channelsurf” by simply holding the channel up or down key of a remote control.Therefore, one aspect of the present invention “inserts” anadvertisement (with or without corresponding channel banner descriptioninformation) into the channel list of the TV.

A channel surfing list is the list of all active video channelsaccessible when pressing and holding the channel up or down key of aremote control. Thus, when the user “surfs” (channel up or directchannel entry) to the ad page, rather than tuning to a video frequency,the advertisement is presented. This embodiment therefore, provides thecapability to insert an advertisement “channel” into this channel listso that the user can view an advertisements. Further, this inventionenables the compilation of ad hits as people channel surf. The adinsertion can either be made to specific unmapped (not used by video)channels, or by inserting the advertisement after a certain number ofchannels have been surfed.

From an implementation standpoint, the active channel list must containan attribute identifying what the “channel” is. That is, is it tunablevideo or is it an advertisement. When traversing the active channellist, the consumer device checks the attribute and determines if itneeds to tune to the video or take some other action.

For devices that provide channel banner information (a title of theprogram), a banner for the advertisement will also be generated, such asshown for example, in FIG. 1.

Another aspect of the present invention is that the following electroniccontent can be inserted into the channel surfing list:

-   TV Home Page-   EPG-   Email Application-   Internet Connection Page-   Local (meaning stored in the TV or consumer product device) Video    Advertisements

It will be readily apparent to those skilled in the art that theteachings of the present invention described above may be applied to atelevision, VCR, settop boxes, a video storage and playback unit such asa Tivo, etc., without departing from the true scope of the claimsappended hereto.

1. A method for tracking advertisements in an apparatus comprising thesteps of: generating a signal that is capable of being displayed as anelectronic program guide, wherein said electronic program guide containsat least one advertisement; and in response to a selection, by a user,of said advertisement, information is transmitted to a server indicatingthe source of said advertisement, as such an advertisement can originateat least two sources.